import { BoundingBox, GeometryBase, VertexAttributeName, Vector3 } from '@orillusion/core';

export class BunnyGeometry extends GeometryBase {
    /**
     * 宽度，x轴方向的长度。
     */
    width: number;
    /**
     * 高度，y轴方向的长度。
     */
    height: number;
    /**
     * 深度，z轴方向的长度。
     */
    depth: number;
    vertexCount: number;
    /**
     *
     * 创建新的立方体对象。
     * @param width {number} 立方体的宽度，默认值为1。
     * @param height {number} 立方体的高度，默认值为1。
     * @param depth {number} 立方体的深度，默认值为1。
     */
    constructor(width: number = 1, height: number = 1, depth: number = 1, vertexCount: number = 0) {
        super();
        this.width = width;
        this.height = height;
        this.depth = depth;
        this.vertexCount = vertexCount;
        this.name = 'BunnyGeometry';
        this.initVertex();
    }

    private initVertex() {

        this.bounds = new BoundingBox(Vector3.ZERO.clone(), new Vector3(this.width, this.height, this.depth));

        let position_arr = new Float32Array([
            0.1667, 0.0320, 0.0191, 0.1474, 0.0432, 0.1918, 0.2237, 0.0267, 0.1427, -0.0349, 0.0627, 0.1842, -0.1422, 0.0246, 0.1666, -0.1443, 0.0308, 0.2591, -0.1520, 0.0275, 0.0863, -0.1235, 0.0481, -0.0230,
            -0.1631, 0.0197, 0.0288, -0.0744, 0.0422, 0.0948, -0.4601, 0.6411, 0.0977, -0.4277, 0.4754, 0.0296, -0.0827, 0.5775, 0.0648, -0.0923, 0.5318, 0.1807, -0.2836, 0.0971, 0.2413, 0.1341, 0.6095, 0.1176,
            -0.2581, 0.7327, 0.1967, -0.4100, 0.2577, 0.0661, -0.4343, 0.3047, 0.0676, -0.4551, 0.3656, 0.1178, 0.4151, 0.2519, 0.1277, 0.4491, 0.2292, 0.1095, -0.1940, 0.8358, -0.0275, -0.3391, 0.8015, -0.0768,
            -0.2984, 0.8024, -0.1404, -0.3160, 0.9027, -0.3508, -0.0417, 0.4064, -0.1505, -0.1574, 0.3687, -0.1378, 0.0323, 0.5834, 0.1839, 0.0338, 0.5955, 0.0061, -0.3273, 0.0257, -0.0413, -0.4664, 0.5217, 0.1674,
            -0.4120, 0.3103, 0.1827, -0.1099, 0.1349, -0.0605, -0.3218, 0.5167, -0.0584, -0.4631, 0.7279, 0.1017, -0.3750, 0.7551, 0.1656, 0.1495, 0.4153, 0.2908, 0.1748, 0.5951, 0.0094, 0.1752, 0.4043, -0.1377,
            -0.3367, 0.7533, 0.0104, -0.3748, 0.7420, -0.0116, -0.4539, 0.4183, 0.0711, -0.4126, 0.8414, -0.2392, -0.2191, 0.7253, 0.0756, -0.2496, 0.7527, 0.0699, -0.4853, 0.5303, 0.1071, -0.4073, 0.5958, 0.3147,
            -0.3700, 0.6586, 0.2969, -0.3641, 0.9011, -0.3114, -0.1031, 0.0686, 0.3093, -0.2080, 0.2314, -0.0886, -0.3452, 0.6647, -0.0477, -0.2959, 0.7275, -0.0203, -0.2195, 0.0993, 0.1067, -0.2204, 0.1500, 0.1047,
            -0.3431, 0.5050, 0.3132, -0.0204, 0.3329, -0.2352, 0.0602, 0.3103, -0.2269, -0.1341, 0.7232, -0.0019, -0.3155, 0.5402, 0.3149, -0.2808, 0.8625, -0.3723, -0.0523, 0.8637, -0.1265, -0.1483, 0.7646, -0.0696,
            0.3500, 0.4151, 0.0209, 0.3799, 0.1483, -0.0381, 0.4126, 0.1121, 0.0225, -0.2962, 0.6754, -0.0449, 0.0689, 0.4841, 0.2612, -0.2170, 0.6736, 0.0170, -0.3089, 0.3594, 0.2701, -0.3657, 0.4575, 0.2191,
            0.0650, 0.1457, 0.3302, 0.3456, 0.0605, 0.0104, 0.3414, 0.3522, -0.0423, -0.2886, 0.0332, 0.1229, -0.2998, 0.4872, 0.2276, 0.1421, 0.3457, 0.3352, 0.1154, 0.1785, 0.3330, -0.4515, 0.6367, 0.1707,
            -0.4721, 0.5464, 0.2503, -0.2863, 0.7957, -0.2558, -0.2152, 0.6694, 0.0676, 0.1850, 0.1528, 0.2982, 0.1498, 0.0871, 0.2724, 0.4507, 0.1932, 0.0397, -0.2929, 0.7929, -0.3524, 0.2004, 0.4327, 0.2715,
            -0.2914, 0.7310, 0.2138, -0.2698, 0.2782, 0.2583, -0.3454, 0.2597, 0.2157, 0.3642, 0.2470, 0.0231, 0.1806, 0.2881, 0.3214, -0.1371, 0.7865, 0.0047, -0.2560, 0.1605, 0.0360, 0.3461, 0.1195, 0.1971,
            0.2736, 0.5334, 0.1387, 0.3035, 0.1373, 0.1947, -0.2574, 0.7019, -0.0082, 0.2107, 0.0318, -0.0122, -0.2548, 0.1799, -0.0281, -0.3592, 0.8459, -0.3151, -0.3210, 0.7476, -0.3192, -0.2232, 0.5181, 0.2013,
            -0.3563, 0.7122, -0.2072, 0.0494, 0.4310, 0.2676, -0.1898, 0.2528, 0.2488, -0.2085, 0.0248, -0.0803, -0.2518, 0.0684, 0.2804, -0.2076, 0.3639, 0.2738, 0.4042, 0.1880, 0.1810, 0.3670, 0.2580, 0.1204,
            -0.1638, 0.0816, -0.1354, -0.1625, 0.4547, 0.2408, 0.0641, 0.2601, 0.3494, 0.1908, 0.5486, 0.2023, -0.3569, 0.0314, 0.0316, -0.2098, 0.1214, 0.2193, -0.1434, 0.1082, 0.2369, -0.1786, 0.5669, 0.1469,
            0.0156, 0.8858, -0.1638, 0.2624, 0.3563, -0.1269, 0.2944, 0.3039, -0.1066, -0.1524, 0.3434, 0.2601, -0.0977, 0.8827, -0.0246, -0.1062, 0.3266, 0.2550, -0.0740, 0.4453, 0.2546, -0.0810, 0.1479, 0.2159,
            0.0428, 0.3958, 0.3320, -0.0657, 0.3922, 0.2721, 0.4248, 0.2452, 0.0328, -0.0601, 0.0972, 0.3182, 0.0760, 0.4956, -0.1222, -0.0136, 0.1156, 0.2928, -0.0193, 0.9447, -0.1214, -0.2288, 0.1200, 0.1634,
            -0.1335, 0.3173, -0.1318, -0.1521, 0.0218, -0.1868, -0.0544, 0.1042, -0.1688, -0.0486, 0.3108, 0.3412, -0.0191, 0.2128, 0.3181, -0.4362, 0.6320, 0.0098, 0.2887, 0.3767, 0.2443, -0.0336, 0.7787, -0.0261,
            0.2502, 0.1172, -0.1113, 0.1954, 0.0824, -0.1357, 0.3129, 0.2146, -0.0761, 0.3037, 0.1433, -0.0441, -0.0711, 0.0353, 0.3273, 0.2883, 0.4618, -0.0612, -0.2626, 0.1112, 0.0419, 0.4238, 0.1190, 0.1237,
            -0.2952, 0.6381, 0.2271, -0.2766, 0.5595, 0.2573, 0.2983, 0.1897, 0.2281, 0.3458, 0.3828, 0.1530, -0.1021, 0.4839, -0.1137, 0.2589, 0.2605, 0.2631, -0.0429, 0.4487, -0.1384, 0.0322, 0.8266, -0.1303,
            0.1893, 0.0358, 0.2597, 0.0138, 0.7992, -0.0826, -0.2432, 0.6588, 0.1768, -0.2864, 0.0307, 0.2710, -0.3452, 0.6849, -0.0928, -0.0865, 0.1189, -0.1409, -0.3716, 0.3747, -0.0853, 0.1722, 0.0326, -0.1287,
            -0.4131, 0.4687, 0.1715, -0.4471, 0.6731, 0.2197, -0.4554, 0.4954, 0.2326, -0.4376, 0.5458, -0.0120, 0.0521, 0.0236, -0.1437, -0.3329, 0.0807, 0.0345, -0.3180, 0.0391, 0.1693, -0.0631, 0.3676, -0.2114,
            -0.3939, 0.4969, 0.2861, 0.2089, 0.1629, -0.1624, 0.1427, 0.0261, -0.0882, 0.0602, 0.0469, -0.0274, 0.1069, 0.3825, -0.1983, -0.2828, 0.7494, 0.0235, -0.1715, 0.5951, 0.0794, -0.0860, 0.2864, -0.2215,
            0.2796, 0.5242, 0.0345, 0.2034, 0.4408, -0.1190, -0.2493, 0.1088, -0.0287, -0.2133, 0.5922, -0.0207, -0.2524, 0.3879, -0.1285, -0.4372, 0.5181, 0.2856, -0.2468, 0.4735, -0.1103, -0.0688, 0.1837, -0.1905,
            0.1823, 0.5376, -0.0745, 0.2589, 0.0243, 0.0765, -0.3756, 0.7147, -0.0322, -0.3913, 0.2707, -0.0285, -0.2942, 0.2725, -0.1139, 0.1176, 0.0286, 0.0569, -0.4241, 0.3580, -0.0278, -0.1085, 0.5496, -0.0465,
            0.0431, 0.5686, -0.0526, -0.1765, 0.5626, -0.0652, 0.0887, 0.1117, -0.1823, 0.1388, 0.2287, -0.1969, -0.0065, 0.2046, -0.2236, -0.2223, 0.1970, 0.2025, 0.0543, 0.0479, 0.0927, -0.2713, 0.0196, 0.1024,
            -0.3406, 0.1901, 0.0982, -0.1317, 0.0228, -0.1243, -0.0647, 0.0442, -0.0624, -0.3920, 0.3003, 0.0961, -0.3920, 0.3936, 0.0025, -0.3920, 0.3936, 0.0962, -0.3920, 0.4877, 0.0962, -0.3920, 0.4877, 0.1897,
            -0.3920, 0.5813, 0.0960, -0.3920, 0.5813, 0.1893, -0.3920, 0.6747, 0.0960, -0.3920, 0.6747, 0.1893, -0.2980, 0.3003, 0.0022, -0.2980, 0.3003, 0.0961, -0.2980, 0.3003, 0.1897, -0.2980, 0.3941, 0.0022,
            -0.2980, 0.3941, 0.0961, -0.2980, 0.3941, 0.1897, -0.2980, 0.4877, 0.0026, -0.2980, 0.4877, 0.0962, -0.2980, 0.5810, 0.0024, -0.2980, 0.5810, 0.0959, -0.2980, 0.5810, 0.1895, -0.2980, 0.6747, 0.0023,
            -0.2980, 0.6747, 0.0959, -0.2048, 0.1131, 0.0959, -0.2048, 0.2069, 0.0023, -0.2048, 0.2069, 0.0962, -0.2048, 0.3003, 0.0025, -0.2048, 0.3003, 0.0961, -0.2048, 0.3003, 0.1894, -0.2048, 0.3939, 0.0024,
            -0.2048, 0.3939, 0.0960, -0.2048, 0.3939, 0.1893, -0.2048, 0.4872, 0.0021, -0.2048, 0.4872, 0.0958, -0.2048, 0.5813, 0.0958, -0.1108, 0.1130, 0.0023, -0.1108, 0.1130, 0.0960, -0.1108, 0.1130, 0.1895,
            -0.1108, 0.2068, 0.0023, -0.1108, 0.2068, 0.0957, -0.1108, 0.2068, 0.1894, -0.1108, 0.3004, -0.0915, -0.1108, 0.3004, 0.0023, -0.1108, 0.3004, 0.0957, -0.1108, 0.3004, 0.1898, -0.1108, 0.3941, -0.0912,
            -0.1108, 0.3941, 0.0026, -0.1108, 0.3941, 0.0959, -0.1108, 0.3941, 0.1898, -0.1108, 0.4873, 0.0022, -0.1108, 0.4873, 0.0958, -0.0174, 0.1129, -0.0915, -0.0174, 0.1129, 0.0026, -0.0174, 0.1129, 0.0959,
            -0.0174, 0.1129, 0.1896, -0.0174, 0.2067, -0.0910, -0.0174, 0.2067, 0.0026, -0.0174, 0.2067, 0.0960, -0.0174, 0.2067, 0.1896, -0.0174, 0.3002, -0.0911, -0.0174, 0.3002, 0.0025, -0.0174, 0.3002, 0.0959,
            -0.0174, 0.3002, 0.1897, -0.0174, 0.3002, 0.2829, -0.0174, 0.3939, -0.0911, -0.0174, 0.3939, 0.0026, -0.0174, 0.3939, 0.0957, -0.0174, 0.3939, 0.1893, -0.0174, 0.4875, 0.0023, -0.0174, 0.4875, 0.0960,
            -0.0174, 0.4875, 0.1896, 0.0763, 0.1132, -0.0912, 0.0763, 0.1132, 0.0021, 0.0763, 0.1132, 0.0957, 0.0763, 0.1132, 0.1893, 0.0763, 0.2068, -0.0915, 0.0763, 0.2068, 0.0026, 0.0763, 0.2068, 0.0959,
            0.0763, 0.2068, 0.1898, 0.0763, 0.2068, 0.2832, 0.0763, 0.3003, -0.0913, 0.0763, 0.3003, 0.0022, 0.0763, 0.3003, 0.0962, 0.0763, 0.3003, 0.1895, 0.0763, 0.3003, 0.2831, 0.0763, 0.3941, -0.0914,
            0.0763, 0.3941, 0.0021, 0.0763, 0.3941, 0.0961, 0.0763, 0.3941, 0.1897, 0.0763, 0.4877, 0.0021, 0.0763, 0.4877, 0.0960, 0.0763, 0.4877, 0.1893, 0.1701, 0.1133, -0.0910, 0.1701, 0.1133, 0.0024,
            0.1701, 0.1133, 0.0962, 0.1701, 0.1133, 0.1897, 0.1701, 0.2066, -0.0914, 0.1701, 0.2066, 0.0024, 0.1701, 0.2066, 0.0958, 0.1701, 0.2066, 0.1894, 0.1701, 0.3004, -0.0913, 0.1701, 0.3004, 0.0024,
            0.1701, 0.3004, 0.0962, 0.1701, 0.3004, 0.1896, 0.1701, 0.3939, -0.0910, 0.1701, 0.3939, 0.0026, 0.1701, 0.3939, 0.0961, 0.1701, 0.3939, 0.1897, 0.1701, 0.4877, 0.0023, 0.1701, 0.4877, 0.0959,
            0.1701, 0.4877, 0.1897, 0.2634, 0.1132, 0.0026, 0.2634, 0.1132, 0.0960, 0.2634, 0.2064, 0.0023, 0.2634, 0.2064, 0.0961, 0.2634, 0.2064, 0.1896, 0.2634, 0.3001, 0.0022, 0.2634, 0.3001, 0.0960,
            0.2634, 0.3001, 0.1898, 0.2634, 0.3941, 0.0026, 0.2634, 0.3941, 0.0958, 0.2634, 0.3941, 0.1895, 0.3571, 0.2069, 0.0957]);

        let normal_arr = new Float32Array(this.vertexCount * 3);
        let uv_arr = new Float32Array(this.vertexCount * 2);
        let indice_arr = new Uint16Array([
            2, 0, 193, 0, 2, 197, 99, 0, 178, 0, 99, 193, 178, 0, 197, 1, 2, 160, 2, 1,
            197, 3, 1, 148, 1, 3, 206, 148, 1, 160, 197, 1, 206, 2, 95, 97, 95, 2, 151, 2,
            97, 160, 151, 2, 193, 4, 3, 5, 3, 4, 9, 5, 3, 148, 3, 9, 206, 4, 5, 163,
            4, 6, 9, 6, 4, 207, 4, 163, 207, 5, 50, 118, 50, 5, 148, 108, 5, 118, 5, 108,
            163, 6, 8, 9, 8, 6, 207, 8, 7, 9, 7, 8, 209, 9, 7, 210, 7, 209, 210, 8,
            30, 107, 30, 8, 207, 8, 107, 209, 9, 179, 206, 179, 9, 210, 35, 10, 79, 10, 35, 141,
            10, 46, 79, 46, 10, 141, 11, 34, 166, 34, 11, 171, 42, 11, 198, 11, 42, 214, 11, 46,
            171, 46, 11, 214, 11, 166, 198, 12, 13, 28, 13, 12, 119, 12, 28, 29, 12, 29, 199, 119,
            12, 182, 182, 12, 187, 187, 12, 199, 28, 13, 126, 13, 103, 113, 103, 13, 119, 13, 113, 126,
            14, 108, 117, 108, 14, 163, 14, 117, 135, 14, 135, 174, 163, 14, 174, 28, 15, 29, 15, 28,
            115, 29, 15, 38, 38, 15, 96, 96, 15, 115, 36, 16, 45, 16, 36, 88, 16, 44, 45, 44,
            16, 162, 16, 88, 152, 16, 152, 162, 18, 17, 32, 17, 18, 195, 32, 17, 208, 17, 195, 208,
            19, 18, 32, 18, 19, 42, 18, 42, 198, 195, 18, 198, 19, 32, 168, 42, 19, 168, 21, 20,
            110, 20, 21, 130, 110, 20, 111, 111, 20, 130, 21, 85, 130, 85, 21, 151, 21, 110, 151, 22,
            45, 124, 45, 22, 181, 22, 62, 63, 62, 22, 134, 22, 63, 98, 22, 98, 181, 22, 124, 134,
            23, 24, 49, 24, 23, 53, 40, 23, 41, 23, 40, 53, 41, 23, 43, 43, 23, 49, 24, 25,
            49, 25, 24, 81, 24, 53, 67, 24, 67, 104, 81, 24, 104, 49, 25, 101, 61, 25, 81, 25,
            61, 101, 27, 26, 136, 26, 27, 156, 132, 26, 158, 26, 132, 180, 136, 26, 175, 26, 156, 158,
            175, 26, 180, 27, 136, 196, 156, 27, 190, 27, 188, 190, 188, 27, 196, 28, 68, 115, 68, 28,
            126, 29, 38, 200, 199, 29, 200, 107, 30, 186, 30, 116, 173, 116, 30, 207, 30, 173, 186, 46,
            31, 79, 31, 46, 168, 79, 31, 80, 80, 31, 170, 31, 168, 215, 170, 31, 215, 32, 70, 71,
            70, 32, 90, 32, 71, 168, 90, 32, 208, 51, 33, 186, 33, 51, 251, 107, 33, 112, 33, 107,
            186, 112, 33, 165, 165, 33, 191, 191, 33, 251, 34, 52, 67, 52, 34, 171, 34, 67, 187, 166,
            34, 190, 34, 187, 201, 190, 34, 201, 35, 36, 40, 36, 35, 169, 35, 40, 41, 35, 41, 141,
            35, 79, 169, 40, 36, 45, 36, 48, 88, 48, 36, 169, 68, 37, 87, 37, 68, 105, 37, 77,
            92, 77, 37, 128, 87, 37, 92, 37, 105, 128, 38, 96, 184, 38, 184, 192, 38, 192, 200, 39,
            121, 180, 121, 39, 185, 132, 39, 180, 39, 132, 185, 40, 45, 181, 53, 40, 181, 41, 43, 194,
            141, 41, 194, 42, 168, 214, 43, 49, 101, 43, 101, 102, 43, 102, 104, 43, 104, 194, 45, 44,
            93, 59, 44, 82, 44, 59, 93, 82, 44, 162, 45, 93, 124, 46, 141, 171, 168, 46, 214, 48,
            47, 60, 47, 48, 169, 47, 56, 60, 56, 47, 176, 80, 47, 169, 47, 80, 189, 176, 47, 189,
            48, 60, 152, 88, 48, 152, 118, 50, 131, 131, 50, 148, 100, 51, 186, 51, 100, 196, 136, 51,
            196, 51, 136, 251, 67, 52, 164, 141, 52, 171, 52, 141, 194, 164, 52, 194, 67, 53, 98, 98,
            53, 181, 55, 54, 135, 54, 55, 150, 54, 75, 135, 75, 54, 150, 55, 94, 150, 94, 55, 208,
            55, 135, 205, 55, 205, 208, 60, 56, 76, 56, 71, 76, 71, 56, 176, 58, 57, 180, 57, 58,
            204, 57, 175, 180, 175, 57, 183, 183, 57, 204, 58, 180, 203, 58, 203, 204, 63, 59, 69, 59,
            63, 143, 69, 59, 82, 93, 59, 143, 60, 76, 153, 152, 60, 153, 61, 81, 86, 61, 86, 101,
            63, 62, 159, 120, 62, 134, 62, 120, 159, 124, 62, 134, 62, 124, 143, 134, 62, 161, 62, 143,
            161, 63, 69, 98, 143, 63, 161, 63, 159, 161, 74, 64, 91, 64, 74, 149, 91, 64, 111, 64,
            96, 155, 96, 64, 184, 111, 64, 155, 64, 149, 184, 65, 66, 73, 66, 65, 85, 65, 73, 147,
            85, 65, 130, 65, 91, 130, 91, 65, 147, 73, 66, 151, 66, 85, 151, 67, 98, 187, 104, 67,
            164, 68, 87, 115, 105, 68, 126, 69, 82, 187, 98, 69, 187, 71, 70, 76, 76, 70, 109, 89,
            70, 90, 70, 89, 109, 168, 71, 215, 170, 71, 176, 71, 170, 215, 78, 72, 84, 72, 78, 114,
            84, 72, 133, 72, 114, 140, 133, 72, 140, 99, 73, 193, 73, 99, 321, 147, 73, 321, 73, 151,
            193, 74, 91, 146, 121, 74, 122, 74, 121, 149, 122, 74, 146, 116, 75, 173, 75, 116, 207, 135,
            75, 174, 75, 150, 173, 174, 75, 207, 103, 76, 113, 76, 103, 153, 76, 109, 113, 92, 77, 114,
            114, 77, 128, 83, 78, 84, 78, 83, 92, 78, 92, 114, 79, 80, 169, 80, 170, 189, 86, 81,
            102, 102, 81, 104, 82, 162, 182, 82, 182, 187, 83, 84, 160, 92, 83, 157, 83, 97, 154, 97,
            83, 160, 83, 154, 157, 84, 133, 148, 84, 148, 160, 101, 86, 102, 87, 92, 142, 115, 87, 142,
            89, 90, 205, 89, 106, 109, 106, 89, 205, 205, 90, 208, 91, 111, 130, 146, 91, 147, 142, 92,
            157, 124, 93, 143, 94, 100, 186, 100, 94, 208, 150, 94, 186, 97, 95, 110, 110, 95, 151, 96,
            115, 142, 96, 142, 155, 97, 110, 332, 154, 97, 332, 144, 99, 145, 99, 144, 321, 145, 99, 167,
            167, 99, 178, 100, 195, 196, 195, 100, 208, 103, 119, 153, 104, 164, 194, 105, 126, 129, 128, 105,
            129, 109, 106, 123, 106, 117, 118, 117, 106, 205, 106, 118, 127, 123, 106, 125, 125, 106, 250, 106,
            127, 250, 107, 112, 137, 107, 137, 209, 117, 108, 118, 113, 109, 123, 110, 111, 332, 110, 142, 157,
            142, 110, 328, 110, 157, 328, 142, 111, 155, 111, 142, 328, 154, 111, 328, 111, 154, 332, 137, 112,
            165, 113, 123, 129, 126, 113, 129, 114, 128, 139, 114, 139, 140, 135, 117, 205, 127, 118, 131, 153,
            119, 162, 162, 119, 182, 120, 134, 159, 121, 122, 177, 149, 121, 185, 121, 177, 203, 180, 121, 203,
            122, 146, 177, 123, 125, 129, 129, 125, 139, 139, 125, 140, 140, 125, 250, 127, 131, 133, 127, 133,
            140, 127, 140, 250, 128, 129, 139, 133, 131, 148, 156, 132, 158, 132, 156, 200, 185, 132, 192, 192,
            132, 200, 159, 134, 161, 136, 175, 183, 136, 183, 191, 136, 191, 251, 138, 137, 165, 137, 138, 172,
            137, 172, 209, 138, 165, 191, 172, 138, 202, 138, 191, 204, 202, 138, 204, 144, 145, 177, 144, 146,
            147, 146, 144, 177, 144, 147, 321, 145, 167, 202, 177, 145, 202, 184, 149, 192, 149, 185, 192, 173,
            150, 186, 152, 153, 162, 157, 154, 328, 156, 190, 201, 156, 199, 200, 199, 156, 201, 163, 174, 207,
            188, 166, 190, 166, 188, 196, 195, 166, 196, 166, 195, 198, 172, 167, 178, 167, 172, 202, 170, 176,
            189, 172, 178, 179, 172, 179, 210, 209, 172, 210, 177, 202, 203, 179, 178, 197, 179, 197, 206, 191,
            183, 204, 187, 199, 201, 203, 202, 204, 234, 236, 248, 236, 234, 252, 234, 248, 252, 237, 235, 249,
            235, 237, 253, 249, 235, 253, 248, 236, 252, 237, 249, 253, 259, 256, 275, 256, 259, 278, 275, 256,
            278, 259, 275, 278, 292, 287, 308, 287, 292, 312, 308, 287, 312, 297, 292, 312, 292, 297, 316, 292,
            308, 312, 312, 292, 316, 297, 312, 316]);

        this.setIndices(indice_arr);
        this.setAttribute(VertexAttributeName.position, position_arr);
        this.setAttribute(VertexAttributeName.normal, normal_arr);
        this.setAttribute(VertexAttributeName.uv, uv_arr);
        this.setAttribute(VertexAttributeName.TEXCOORD_1, uv_arr);

        this.addSubGeometry({
            indexStart: 0,
            indexCount: indice_arr.length,
            vertexStart: 0,
            vertexCount: 0,
            firstStart: 0,
            index: 0,
            topology: 0,
        });

    }
}
